←Select platform

SaveComposite(RasterCodecs,Stream,List<CompositeJpxImages>,Jpeg2000FileFormat,int,int) Method

Summary
Saves a CompositeJpxImages list to a stream in any of the supported JPEG 2000 file formats. This method is available in the Document/Medical Toolkits.

Syntax
C#
C++/CLI
Python
public: 
void SaveComposite(  
   RasterCodecs^ codecs, 
   Stream^ stream, 
   List<CompositeJpxImages^>^ compositeImages, 
   Jpeg2000FileFormat format, 
   int bitsPerPixel, 
   int qualityFactor 
)  

Parameters

codecs
The Leadtools.Codecs.RasterCodecs object.

stream
A System.IO.Stream to which the image data will be saved.

compositeImages
List of CompositeJpxImages layer image data that will be saved

format
Output JPEG 2000 file format. For valid values, refer to Jpeg2000FileFormat.

bitsPerPixel
Resulting file's pixel depth. Possible values are: 8, 12, 16, 24, 32, 48, 64, and 0. A value of zero [0] means that each image will be saved with its bits per pixel value, if that value is equal to one of the possible values (8, 12, 16, 24, 32, 48, or 64).

qualityFactor
Quality factor. This value determines the degree of loss in the compression process. Possible values are from 0 to 255. A value of zero (0) represents lossless compression. Values between 1 and 255 are interpreted as a compression ratio.

Remarks

All engine boxes that are currently set will also be saved in this file

Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Jpeg2000; 
 
 
public void SaveCompositeStreamExample(byte[] xmlData) 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   FileStream fs = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx")); 
 
   // Load a JPEG 2000 image 
   Jpeg2000Engine engine = new Jpeg2000Engine(); 
   List<CompositeJpxImages> images = engine.LoadComposite(codecs, fs, 0, CodecsLoadByteOrder.BgrOrGray); 
 
   engine.ResetEngineBoxes(); 
 
   GtsoBox gtsoBox = (GtsoBox)(engine.ReadBox(fs, Jpeg2000BoxType.GtsoBox, 0)); 
   engine.SetBox(Jpeg2000FileFormat.LeadJpx, gtsoBox); 
 
   fs.Close(); 
   fs = File.Create(Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx")); 
 
   //Save the image in JPX file format 
   engine.SaveComposite(codecs, fs, images, Jpeg2000FileFormat.LeadJpx, 24, 5); 
   //Append an XML box 
   XmlBox xmlBox = new XmlBox(); 
   xmlBox.Data = xmlData; 
   List<XmlBox> xmlBoxes = new List<XmlBox>(); 
   xmlBoxes.Add(xmlBox); 
   engine.AppendBoxes(fs, xmlBoxes); 
   // Clean up 
   fs.Close(); 
   foreach (CompositeJpxImages image in images) 
   { 
      image.ColorImage.Dispose(); 
      image.OpacityImage.Dispose(); 
      image.PreOpacityImage.Dispose(); 
   } 
   codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 22.0.2023.3.31
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Jpeg2000 Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.